package cn.com.cifi.mars.mapper.mars;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import cn.com.cifi.mars.entity.PortalTodo;
import cn.com.cifi.mars.entity.PriceVersion;
import cn.com.cifi.mars.entity.SignPlanVersion;
import cn.com.cifi.mars.entity.SupplyConfirmRecord;
import cn.com.cifi.mars.entity.common.ProjectByStages;

/**
 * <p>
 * 供货确认记录表 Mapper 接口
 * </p>
 *
 * @author yyd
 * @since 2019-11-25
 */
public interface SupplyConfirmRecordMapper extends BaseMapper<SupplyConfirmRecord> {
	/**
	 * 
	 * 方法描述：查询供货确认记录
	 * @param projectId 项目ID
	 * @param isDel 是否删除
	 * 创建人：yyd
	 * 创建时间：2019年11月27日 下午5:39:06
	 */
	SupplyConfirmRecord selectByProjectId(@Param("projectId")String projectId,@Param("versionDate")String versionDate, @Param("isDel")int isDel);
	/**
	 * 
	 * 方法描述：查询货值审批通过及系统生产版本
	 * @param projectId 项目ID
	 * @param isDel 是否删除
	 * 创建人：yyd
	 * 创建时间：2019年11月27日 下午5:39:52
	 */
	List<PriceVersion> selectPriceVersion(@Param("projectId")String projectId, @Param("isDel")int isDel);
	/**
	 * 
	 * 方法描述：查询签约审批通过及系统生产版本
	 * @param projectId 项目ID
	 * @param isDel 是否删除
	 * 创建人：yyd
	 * 创建时间：2019年11月27日 下午5:40:52
	 */
	List<SignPlanVersion> selectsignPlanVersion(@Param("projectId")String projectId, @Param("isDel")int isDel);
	
	ProjectByStages selectParentLevel(@Param("projectId")String projectId);
	
	void deleteSupplyConfirmRecord(@Param("projectId")String projectId, @Param("alias")String alias, @Param("versionDate")String versionDate, @Param("isDel")int isDel);
	
	void deleteSupplyConfirmRecordDetail(@Param("projectId")String projectId, @Param("alias")String alias, @Param("versionDate")String versionDate, @Param("isDel")int isDel);
	
	List<SupplyConfirmRecord> selectConfirmRecordList(@Param("affiliationMonth")String affiliationMonth, @Param("isDel")int isDel);
	
	List<PortalTodo> selectTodoByProjectId(@Param("projectId")String projectId, @Param("todoTypeCode")String todoTypeCode,@Param("todoStatus")String todoStatus);
	
	List<PortalTodo> selectWarningTodos(@Param("projectId")String projectId, @Param("dimension")List<String> dimension, @Param("todoTypeCode")String todoTypeCode, @Param("todoStatus")String todoStatus);
	

}
